package com.bdqn.qnnews.common.base;

/**
 * 统一的结果业务状态码定义枚举类 (异常信息状态码枚举类)
 * @author xlzhang
 */
public enum ResultCode {
    /**
     * 枚举项，注意同一类型的异常枚举项集中一起，不同的类型之间用空格分割
     */
    // 成功段0
    SUCCESS(200,"操作成功"),
    // 登录段1~50
    NEED_LOGIN(1,"需要登录后操作"),
    LOGIN_PASSWORD_ERROR(2,"密码错误"),
    SYSTEM_USERNAME_NOT_EXISTS(3,"账号不存在"),
    AD_USER_DATA_NOT_EXIST(4,"后台管理账号不存在"),
    WM_USER_DATA_NOT_EXIST(5,"自媒体账号不存在"),
    // TOKEN50~100
    TOKEN_INVALID(50,"无效的TOKEN"),
    TOKEN_EXPIRE(51,"TOKEN已过期"),
    TOKEN_REQUIRE(52,"TOKEN是必须的"),
    DATA_NOT_ALLOW(53,"认证状态不正确"),

    // SIGN验签 100~120
    SIGN_INVALID(100,"无效的SIGN"),
    SIG_TIMEOUT(101,"SIGN已过期"),
    // 参数错误 500~1000
    PARAM_REQUIRE(500,"缺少参数"),
    PARAM_INVALID(501,"无效参数"),
    PARAM_IMAGE_FORMAT_ERROR(502,"图片格式有误"),
    SERVER_ERROR(503,"服务器内部错误"),
    // 数据错误 1000~2000
    DATA_EXIST(1000,"数据已经存在"),
    AP_USER_DATA_NOT_EXIST(1001,"ApUser数据不存在"),
    DATA_NOT_EXIST(1002,"数据不存在"),
    // 数据错误 3000~3500
    NO_OPERATOR_AUTH(3000,"无权限操作"),
    NEED_ADMIND(3001,"需要管理员权限"),

    METHOD_NOT_SUPPORTED(40501,"请求方式不正确"),
    MEDIA_TYPE_NOT_SUPPORTED(41501,"媒体类型异常"),
    NO_HANDLER_FOUND(404,"找不资源(资源地址不正确)")
    ;

    int code;
    String errorMessage;

    ResultCode(int code, String errorMessage){
        this.code = code;
        this.errorMessage = errorMessage;
    }

    public int getCode() {
        return code;
    }

    public String getErrorMessage() {
        return errorMessage;
    }
}